定义

标准中的定义如下:
If  the  expression  that  denotes  the  called  function  has  a  type  that  does  not  include  a prototype, the integer promotions are performed on each argument, and arguments that have  type float are  promoted  to double. These  are  called  the default  argument promotions.  -- C11 6.5.2.2  Function calls (6)

意思大概是:如果一个函数的形参类型未知, 例如使用了Old Style C风格的函数声明,或者函数的参数列表中有 ...,那么调用函数时要对相应的实参做Integer Promotion,此外,相应的实参如果是float型的也要被提升为double类型,这条规则称为Default Argument Promotion。